package test230331;

import java.util.Scanner;

/**
 * @author 兴趣使然黄小黄
 * @version 1.0
 * @date 2023/3/31 19:51
 * 一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。
 * 如果这个数是负数，则程度增加0.5倍；如果还是个偶数，则再增加1倍。
 * 例如数字-13142223336是个11位数，其中有3个2，并且是负数，也是偶数，
 * 则它的犯二程度计算为：3/11×1.5×2×100%，约为81.82%。
 */
public class Main01 {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String inputNumber = scan.nextLine(); // 接收数字
        char[] numbers = inputNumber.toCharArray();
        int len = numbers.length;
        int index = 0; // 遍历的起始索引
        double level = 1; // 默认程度
        // 判断是否为负数
        if (numbers[0] == '-') {
            index = 1;
            len = len-1;
            level *= 1.5;
        }
        // 遍历
        int count = 0; // 记录2的个数
        while (index < numbers.length) {
            if (numbers[index] == '2') {
                count++;
            }
            index++;
        }
        // 判断是否为偶数
        if ((numbers[numbers.length-1] - '0') % 2 == 0) {
            level *= 2;
        }
        double res = (double) count / (double) len * level * 100;
        System.out.printf("%.2f", res);
        System.out.print("%");
        scan.close();
    }
}
